/*
 * ========================================================
 * Copyright(c) 2014 杭州偶尔科技-版权所有
 * ========================================================
 * 本软件由杭州偶尔科技所有, 未经书面许可, 任何单位和个人不得以
 * 任何形式复制代码的部分或全部, 并以任何形式传播。
 * 公司网址
 * 
 * 			http://www.kkkd.com/
 * 
 * ========================================================
 */
package com.simon.mengkou.future.handler;

import android.content.Context;

import com.ouertech.android.agm.lib.base.future.local.LocalEvent;
import com.simon.mengkou.data.bean.base.PhoneAccessToken;
import com.simon.mengkou.data.bean.base.QQAccessToken;
import com.simon.mengkou.data.bean.base.SinaAccessToken;
import com.simon.mengkou.data.bean.base.WeixinAccessToken;
import com.simon.mengkou.data.enums.EAccountType;
import com.simon.mengkou.future.base.OuerLocalHandler;
import com.simon.mengkou.system.global.OuerApplication;
import com.simon.mengkou.system.global.OuerDispatcher;
import com.umeng.socialize.UMShareAPI;
import com.xiaomi.mipush.sdk.MiPushClient;


/**
 * @作者 zhenshui.xia
 * @日期 2014-8-19
 * @描述  退出登录业务
 */
public class ExitLoginHandler extends OuerLocalHandler {

	public ExitLoginHandler(Context context) {
		super(context);
	}

	@Override
	public void onHandle(final LocalEvent evt) throws Exception {
		// 发送请求打服务器 退出登录
		//OuerApplication.mOuerFuture.logout(null);

		// 清除账号保存的一些信息
		//todo...
		int type = OuerApplication.mUser.getType();
		if(type == EAccountType.PHONE) {
			PhoneAccessToken.clear(mContext);
		} else if(type == EAccountType.SINA) {
			SinaAccessToken.clear(mContext);
		} else if(type == EAccountType.QQ) {
			QQAccessToken.clear(mContext);
		} else if(type == EAccountType.WECHAT) {
			WeixinAccessToken.clear(mContext);
		}

		//取消推送绑定
		MiPushClient.unsetAlias(mContext, OuerApplication.mUser.getAlias(), null);
		MiPushClient.unsetUserAccount(mContext, OuerApplication.mUser.getUserId(), null);

		// app中设置user为null
		OuerApplication.mUser = null;
		// preference删除当前用户
		OuerApplication.mPreferences.setUserId(null);
		// 清除所有cookie
		OuerApplication.mOuerFuture.clearCookie();

		// 发送未登录广播
		OuerDispatcher.sendUnLoginedBroadcast(mContext);
		evt.getFuture().commitComplete(null);
	}

	@Override
	public void onDispose() {
		
	}
	
	

}
